|
===================================== 〔語彙分解〕的な部分一致の検索結果は以下の通りです。 ・ ソフトウェア : [そふとうぇあ] 【名詞】 1. software 2. (n) software
シグナル()とは、UNIXやUnix系などのPOSIX準拠OSにおける限定的なプロセス間通信の一形態。プロセス間あるいはスレッド間で非同期イベントの発生を伝える機構である。シグナルが送信された際、OSは宛先プロセスの正常な処理の流れに割り込む。どんな不可分でない処理の間でも割り込むことができる。受信プロセスが以前にシグナルハンドラを登録しておけば、シグナル受信時にそのルーチンが実行される。さもなくば、デフォルトのシグナル処理が行われる。シグナルは1970年ごろベル研究所で開発されたUNIXを起源とし、後にPOSIXで標準化された。 == シグナル送信 == 以下のような操作によりシグナルが送信される。 * ユーザーがあるプロセスの端末のキーを押下したとき、端末がシグナルを発生する。 * +(古いUNIXでは DEL キー)を押下すると、SIGINT を送信し、デフォルトではそのプロセスを終了させる。 * + を押下すると、SIGTSTP を送信し、デフォルトではプロセスの実行を中断(一時停止)させる。 * + を押下すると、SIGQUIT を送信し、デフォルトではプロセスを終了させコアダンプさせる。 * (なお、これらのキーの組み合わせは コマンドで変更可能である) * kill(2) システムコールを使うと、権限があれば指定したプロセス(群)に指定したシグナルを送信できる。同様に kill(1) コマンドでユーザーがプロセス(群)にシグナルを送信することもできる。また、 raise(3) を使えばカレントプロセス(またはスレッド)に指定したシグナルを送信できる。* ゼロ除算(SIGFPE)、セグメンテーション違反(SIGSEGV)などの例外によってもシグナルが発生する。経験の浅いプログラマはポインタに不正アドレスを入れてしまい、SIGSEGVを発生させることが多い。これらはデフォルトではプログラムを終了させ、コアダンプを生じる。 * カーネルはプロセスに何らかのイベントを通知するためにシグナルを発生させることができる。例えば、プロセスがパイプに書き込んだとき読み込み側プロセスが既にパイプをクローズしている場合にSIGPIPEが送信される。この場合、デフォルトではそのプロセスは終了となるが、パイプをシェルが構築した場合、終了させるのが最も便利である。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「シグナル (ソフトウェア)」の詳細全文を読む スポンサード リンク
|